/* 
** (Copyright) sejishikong <sejishikong@263.net>
** Authors:    sejishikong <sejishikong@263.net>
**             Wei Lian <lianwei2003.student@sina.com> 
** Maintainer: Wei Lian
**    This program is free software; you can redistribute it and/or modify
**    it under the terms of the GNU General Public License Version 2 as
**    published by the Free Software Foundation;
**
**    This program is distributed in the hope that it will be useful,
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**    GNU General Public License for more details.
**
**    You should have received a copy of the GNU General Public License
**    along with this program; if not, write to the Free Software
**    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
*/

#ifndef FORK_H
#define FORK_H

#include <qobject.h>

class Sopcast;
class QProcess;
class QSocketNotifier;

class Fork:public QObject {
    Q_OBJECT			/// 
  public:
    Fork(QObject * parent = 0, const char *name = 0);
    ~Fork();
    bool forksop(QString, QString);
    bool forkplayer();
    void killsop();
    void killplayer();
    char outport[8];
    QSocketNotifier *snstatus;
    QProcess *player;
    QProcess *sop;
    QString channelurl;
    QString channelname;

  private:
    Sopcast *mainwindow;
    QTimer *echotimer;

    private slots:		////
    void onsopexit();
    void parsestdout();
    void onplayerexit();
    void streamready(int);
    void echo();

};

#endif
